import router from '@/router'
import axios from 'axios' // 发送请求的插件
import { ElMessage } from 'element-plus'

// 创建一个axios实例
const request = axios.create({
  baseURL: 'http://121.89.213.194:9001',
  timeout: 5000
})

// 添加请求拦截器
request.interceptors.request.use(
  (config) => {
    // 在请求发送之前, 统一添加一些公共参数
    config.headers.authorization = localStorage.getItem('token')
    return config
  },
  (error) => {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)
// 添加相应拦截器
request.interceptors.response.use(
  (response) => {
    // 对范围在2xx的状态码时, 做些什么
    return response
  },
  (error) => {
    console.log(error)
    if (error.status === 401) {
      // 身份验证失效
      // 弹出提示
      ElMessage.error('身份信息已失效, 请重新登录!')
      // 移除token
      localStorage.removeItem('token')
      // 跳到登录页面
      router.replace('/login')
    }
    // 对响应失败做些什么
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  }
)

// 默认抛出创建后的请求插件对象
export default request
